package cn.math.bit;

/**
 * 位运算操作
 * 与（&）、或（|）、非（~）、异或（^）
 *
 * @author dunlingzi
 */
public class BitOperation {
    
    public static void main(String[] args) {
        int a = 1; // 0001
        int b = 2; // 0010
        int c = 4; // 0100
        int d = 8; // 1000
        int e = 15;// 1111
        
        // 与运算；0001
        System.out.println(Integer.toBinaryString(a & e)); // 0001
        // 或运算；0011
        System.out.println(Integer.toBinaryString(a | b)); // 0011
        // 异或运算；0101
        System.out.println(Integer.toBinaryString(a ^ c)); // 0101
        // 非运算；...11110111
        System.out.println(Integer.toBinaryString(~d));
    }
}
